package com.seed.application.datasourcekey;

import cn.hutool.core.util.StrUtil;
import com.seed.application.env.MicroEnv;

/**
 * 单体应用模式下数据源key
 * 主应用服务主库: 空(即默认数据源)
 * 微服务主库: 微服务名，如：micro1、micro2
 * 主应用服务租户库： 租户名，如：tenant
 * 微服务租户库： 租户名_微服务名， 如：tenant_micro1、tenant_micro2
 */
public class SingleDataSourceKeyStrategy implements DataSourceKeyStrategy {

    @Override
    public String getResult(String tenantname) {
        String microName = MicroEnv.getMicroName();
        if(StrUtil.isBlank(microName)) return tenantname;

        return StrUtil.isBlank(tenantname) ? microName : tenantname + '_' + microName;
    }
}
